<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 很明显这是个稳定的排序算法
        const array = [3,6, 4, 0, 1, 2, 5, 7, 8, 9]
        let res = insertSortOptimazation(array)
        console.log(...res)
        function insertSort(array){
            let tmp = 0
            for(let i=1;i<array.length;i++){
                for(let j=i; j>0;j--){
                    if (array[j] < array[j-1]){
                        tmp = array[j]
                        array[j] = array[j-1]
                        array[j-1] = tmp
                    }
                }
            }
            return array
        }
        // 当进行改进的时候，我们就要注意边界值了，我们要的是插入一次，就要确定好可以插入的位置，这个很明显在0位置也可以插入
        // function insertSortOptimazation(array){
        //     let tmp = 0
        //     for(let i=1;i<array.length;i++){
        //         tmp = array[i]
        //         for(let j=i; j>=0;j--){
        //             if (tmp < array[j-1]){
        //                array[j] = array[j-1]
        //             }else{
        //                 array[j] = tmp
        //                 break
        //             }
        //         }
        //     }
        //     return array
        // }
    </script>
</body>
</html>